# 使用Node.js的官方镜像作为构建环境
FROM node:18 AS builder

# 设置工作目录
WORKDIR /app

# 复制package.json和package-lock.json（如果有）
COPY package*.json ./

# 安装依赖
RUN npm install

# 复制应用的源代码
COPY . .

# 构建应用
RUN npm run build

# 运行环境使用更轻量级的Node.js镜像
FROM node:18-alpine

# 设置工作目录
WORKDIR /app

# 复制构建好的文件
COPY --from=builder /app .

# 设置环境变量
ENV NODE_ENV production

# 暴露端口
EXPOSE 3000

# 启动应用
CMD ["node", "dist/main"]
